#include"Arr.h"
#include<stdlib.h>
#include<stdio.h>
const int BLOCK=5;
//typedef struct{
//	int* arr;
//	int size;
//} Arr;
Arr array_create(int init_size){
	Arr a;
	a.size=init_size;
	a.arr=(int*)malloc(init_size*sizeof(int));
	return a;
}
void array_free(Arr*a){
	free(a->arr);
	a->arr=NULL;
	a->size=0;
}
int array_size(const Arr*a){
	return a->size;
}
int* array_address(Arr*a,int index){
	if(index>=a->size){
		array_inflate(a,(index/BLOCK+1)*BLOCK);
	}
	return &(a->arr[index]); 
}
void array_inflate(Arr*a,int expand){
	int*p=(int*)malloc(expand*sizeof(int));
	int i=0;
	for(i=0;i<a->size;i++){
		p[i]=a->arr[i];
	}
	free(a->arr);
	a->arr=p;
	a->size=expand;
}
int main(void){
	Arr a=array_create(5);
	int cnt=0;
	while(cnt<10){
		scanf("%d",array_address(&a,cnt));
		cnt++;
	}
	int k=0;
	for(k=0;k<cnt;k++){
	printf("%d",a.arr[k]);
}
	array_free(&a);
	return 0;
}




